package com.google.code.cisx.model.project;

import com.google.code.cisx.model.CommonUpdatableModelEntity;
import com.google.code.cisx.model.system.Profile;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 
 * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
 * @version $Id: BuildDefinition.java 258 2008-11-29 06:23:51Z rahul.thakur.xdev $
 */
@Entity
@Table(name = "BUILD_DEFINITION")
public class BuildDefinition extends CommonUpdatableModelEntity {

  /**
   * Field defaultForProject
   */
  @Basic
  @Column(name = "FLG_DEFAULT_PROJECT", nullable = false)
  private boolean defaultForProject = false;

  /**
   * Field goals
   */
  @Basic
  @Column(name = "GOALS")
  private String goals;

  /**
   * Field arguments
   */
  @Basic
  @Column(name = "ARGUMENTS")
  private String arguments;

  /**
   * Field buildFile
   */
  @Basic
  @Column(name = "BUILD_FILE")
  private String buildFile;

  /**
   * Field buildFresh
   */
  @Basic
  @Column(name = "FLG_BUILD_FRESH", nullable = false)
  private boolean buildFresh = false;

  /**
   * Field description
   */
  @Basic
  @Column(name = "DESCRIPTION")
  private String description;

  /**
   * Field type
   */
  @Basic
  @Column(name = "TYPE")
  private String type;

  /**
   * Field schedule
   */
  @OneToOne
  private Schedule schedule;

  /**
   * Field profile
   */
  @OneToOne
  private Profile profile;

  /**
   * Field alwaysBuild
   */
  @Basic
  @Column(name = "FLG_ALWAYS_BUILD")
  private boolean alwaysBuild = false;

  /**
   * Field template
   */
  @Basic
  @Column(name = "FLG_TEMPLATE")
  private boolean template = false;

}
